package com.fira.edu.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fira.common.annotation.Excel;
import com.fira.common.core.domain.saas.base.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 班级信息对象 edu_class
 * 
 * @author zhushuyong
 * @date 2021-10-12
 */
public class EduClass extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private String id;

    /** 租户 */
    @Excel(name = "租户")
    private String tenantId;

    /** 班级名称 */
    @Excel(name = "班级名称")
    private String className;

    /** 班级类型 */
    @Excel(name = "班级类型")
    private String classType;

    /** 教授课程 */
    @Excel(name = "教授课程")
    private String courseId;

    /** 是否为学期班(0:是，1:否) */
    @Excel(name = "是否为学期班(0:是，1:否)")
    private String isTermClass;

    /** 学年 */
    @Excel(name = "学年")
    private String classYear;

    /** 学期 */
    @Excel(name = "学期")
    private String classTerm;

    /** 最大人数 */
    @Excel(name = "最大人数")
    private Integer classMaxStudent;

    /** 适龄范围 */
    @Excel(name = "适龄范围")
    private String rangeOfAge;

    /** 授课老师 */
    @Excel(name = "授课老师")
    private String teacherId;

    private String teacherName;

    /** 所在教室 */
    @Excel(name = "所在教室")
    private String classroomId;

    /** 班主任 */
    @Excel(name = "班主任")
    private String headTeacherId;

    /** 开班日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开班日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startClassDate;

    /** 数据状态(0:无效,1:有效) */
    @Excel(name = "数据状态(0:无效,1:有效)")
    private String status;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setTenantId(String tenantId) 
    {
        this.tenantId = tenantId;
    }

    public String getTenantId() 
    {
        return tenantId;
    }
    public void setClassName(String className) 
    {
        this.className = className;
    }

    public String getClassName() 
    {
        return className;
    }
    public void setClassType(String classType) 
    {
        this.classType = classType;
    }

    public String getClassType() 
    {
        return classType;
    }
    public void setCourseId(String courseId)
    {
        this.courseId = courseId;
    }

    public String getCourseId()
    {
        return courseId;
    }
    public void setIsTermClass(String isTermClass) 
    {
        this.isTermClass = isTermClass;
    }

    public String getIsTermClass() 
    {
        return isTermClass;
    }
    public void setClassYear(String classYear) 
    {
        this.classYear = classYear;
    }

    public String getClassYear() 
    {
        return classYear;
    }
    public void setClassTerm(String classTerm) 
    {
        this.classTerm = classTerm;
    }

    public String getClassTerm() 
    {
        return classTerm;
    }
    public void setClassMaxStudent(Integer classMaxStudent) 
    {
        this.classMaxStudent = classMaxStudent;
    }

    public Integer getClassMaxStudent() 
    {
        return classMaxStudent;
    }
    public void setRangeOfAge(String rangeOfAge) 
    {
        this.rangeOfAge = rangeOfAge;
    }

    public String getRangeOfAge() 
    {
        return rangeOfAge;
    }
    public void setTeacherId(String teacherId)
    {
        this.teacherId = teacherId;
    }

    public String getTeacherId()
    {
        return teacherId;
    }
    public void setClassroomId(String classroomId)
    {
        this.classroomId = classroomId;
    }

    public String getClassroomId()
    {
        return classroomId;
    }
    public void setHeadTeacherId(String headTeacherId)
    {
        this.headTeacherId = headTeacherId;
    }

    public String getHeadTeacherId()
    {
        return headTeacherId;
    }
    public void setStartClassDate(Date startClassDate) 
    {
        this.startClassDate = startClassDate;
    }

    public Date getStartClassDate() 
    {
        return startClassDate;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public String getTeacherName() {
        return teacherName;
    }

    public void setTeacherName(String teacherName) {
        this.teacherName = teacherName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("tenantId", getTenantId())
            .append("className", getClassName())
            .append("classType", getClassType())
            .append("courseId", getCourseId())
            .append("isTermClass", getIsTermClass())
            .append("classYear", getClassYear())
            .append("classTerm", getClassTerm())
            .append("classMaxStudent", getClassMaxStudent())
            .append("rangeOfAge", getRangeOfAge())
            .append("teacherId", getTeacherId())
            .append("classroomId", getClassroomId())
            .append("headTeacherId", getHeadTeacherId())
            .append("startClassDate", getStartClassDate())
            .append("remark", getRemark())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
